function showSegAndSkel( axesHandle, dataList, suppData, curFrame) 
%SHOWSEGANDSKEL Visualization for segmentation and skeleton
%Display the gray image cropped with overlays 
imageGS = suppData(curFrame).GrayScaleImage;

%Get linear indices for perimeter and skeleton
perimIndices = find( bwperim( suppData(curFrame).BwImage ) );
skelIndices = find( suppData(curFrame).SkelImage);

%Get linear indices for 5 pixel radius dots at head and tail
headDot = getDotIndices( size(imageGS), [dataList(curFrame).HeadRow, dataList(curFrame).HeadCol], 3);
tailDot = getDotIndices( size(imageGS), [dataList(curFrame).TailRow, dataList(curFrame).TailCol], 3);

%Get linear indices for 5 pixel radius dots at head and tail
endADot = getDotIndices( size(imageGS), [dataList(curFrame).Curv_EndARow, dataList(curFrame).Curv_EndACol], 3);
endBDot = getDotIndices( size(imageGS), [dataList(curFrame).Curv_EndBRow, dataList(curFrame).Curv_EndBCol], 3);


%Turn gray scale image to color image
rgbImage = gray2rgb(imageGS);

%Apply Overlays
rgbImage = applyOverlay(rgbImage, perimIndices, 'red');
rgbImage = applyOverlay(rgbImage, skelIndices, 'green');
rgbImage = applyOverlay(rgbImage, headDot, 'blue');
rgbImage = applyOverlay(rgbImage, tailDot, 'orange');
%rgbImage = applyOverlay(rgbImage, endADot, 'green');
%rgbImage = applyOverlay(rgbImage, endBDot, 'green');

rgbImage = cropFromCentroid(rgbImage, ...
              [ dataList(curFrame).CentroidRow, ...
               dataList(curFrame).CentroidCol],...
              [300,300]);
imshow(rgbImage, 'Parent', axesHandle);

end

